package com.gskj.statstics.schedule;

import com.gskj.commonutils.DateUtil;
import com.gskj.statstics.entity.StatisticsDaily;
import com.gskj.statstics.service.IStatisticsDailyService;
import lombok.extern.apachecommons.CommonsLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @author : Connor-G 康纳-郭
 * @date : 20:17 20.9.13
 * @Company : http://www.gskj.club
 * @Version : 1.0
 */


// 自定义 定时 任务类
@Component
public class ScheduledTask {

    @Autowired
    private IStatisticsDailyService IStatisticsDailyService;


    // 使用注解 ，  @Scheduled: cron 表达式
    // 每隔 5 m 执行该方法
    // cron 用于设置 执行规则(七子表达式、七域表达式)
    // 默认 位数为 6位。
    //@Scheduled(cron = "0/5 * * * * ?")
    public void task1() {
        System.out.println(" task1 is running");
    }


    /***
     *  在每天的 凌晨1 点执行 保存方法。 将前一天的最新数据更新到数据库
     */
    @Scheduled(cron = "0 0 1 * * ? ")
    public void task2() {

        // 通过工具类获取当前日期前一天
        String date = DateUtil.formatDate(DateUtil.addDays(new Date(), -1));
        IStatisticsDailyService.registerCount(date);
    }
}
